package cn.xeblog.plugin.game.gobang;

import java.util.ArrayList;
import java.util.List;

/**
 * @author anlingyi
 * @date 2022/4/4 10:16 上午
 */
public class AITest {

    public static void main(String[] args) {
        // 冲四盘活局
        // 7,7,1;8,6,2;8,8,1;7,9,2;9,7,1;9,9,2;8,7,1;6,7,2;10,7,1;11,7,2;10,5,1;9,6,2;10,6,1;10,8,2;12,6,1;8,10,2;7,11,1;6,8,2;9,11,1;6,9,2;10,4,1;10,3,2;11,5,1;12,4,2;9,3,1;8,2,2;
        // 7,7,1;8,8,2;7,6,1;9,7,2;7,9,1;7,8,2;6,8,1;8,6,2;6,7,1;8,7,2;8,5,1;5,8,2;9,4,1;10,3,2;6,9,1;6,6,2;5,7,1;8,10,2;8,9,1;5,9,2;6,11,1;6,10,2;7,10,1;9,8,2;10,8,1;7,11,2;4,8,1;9,9,2;4,7,1;3,7,2;5,12,1;4,13,2;4,6,1;3,5,2;4,9,1;4,5,2;
        // 冲四局
        // 7,7,1;7,6,2;8,6,1;6,8,2;8,8,1;8,7,2;6,6,1;5,5,2;6,5,1;6,4,2;9,9,1;10,10,2;9,7,1;9,8,2;7,9,1;10,6,2;10,9,1;8,9,2;11,9,1;10,8,2;6,10,1;5,11,2;12,9,1;13,9,2;10,7,1;11,8,2;12,8,1;4,6,2;3,7,1;8,2,2;7,3,1;12,6,2;12,10,1;12,11,2;4,8,1;5,9,2;7,5,1;5,7,2;5,6,1;3,8,2;5,10,1;7,10,2;7,4,1;6,11,2;5,12,1;8,3,2;7,2,1;7,1,2;9,3,1;8,1,2;8,4,1;10,2,2;9,5,1;

        /*
        7,7,1;8,8,2;6,8,1;8,6,2;7,6,1;7,5,2;8,9,1;10,8,2;9,7,1;9,8,2;11,8,1;8,7,2;8,5,1;6,7,2;10,7,1;9,6,2;7,8,1;7,9,2;10,9,1;12,7,2;9,4,1;10,3,2;12,9,1;9,9,2;14,11,1;13,10,2;10,5,1;8,10,2;11,7,1;7,11,2;6,12,1;11,6,2;10,6,1;12,8,2;11,5,1;12,5,2;13,3,1;12,4,2;12,6,1;9,2,2;11,4,1;8,4,2;9,3,1;10,4,2;13,4,1;12,2,2;13,2,1;11,3,2;9,5,1;13,1,2;14,0,1;13,5,2;12,3,1;14,1,2;10,2,1;9,11,2;10,1,1;9,10,2;9,12,1;11,2,2;10,10,1;6,11,2;8,11,1;7,10,2;
         */

        /*
        7,7,1;8,8,2;8,7,1;6,7,2;7,8,1;7,6,2;10,5,1;9,6,2;9,7,1;8,6,2;6,6,1;11,6,2;10,6,1;10,7,2;8,5,1;8,9,2;9,8,1;9,5,2;10,4,1;9,3,2;10,3,1;10,2,2;9,4,1;8,4,2;11,1,1;11,2,2;10,1,1;12,1,2;9,2,1;11,4,2;11,3,1;13,2,2;14,2,1;8,3,2;12,2,1;13,3,2;13,1,1;14,0,2;7,10,1;7,3,2;7,9,1;7,11,2;6,3,1;8,11,2;8,10,1;9,11,2;6,11,1;10,11,2;11,11,1;12,9,2;5,10,1;
         */

        /*
        7,7,1;8,8,2;6,8,1;8,6,2;8,9,1;7,9,2;6,7,1;9,7,2;6,10,1;10,6,2;11,5,1;6,9,2;7,8,1;9,10,2;5,7,1;4,7,2;5,6,1;4,5,2;5,8,1;5,9,2;7,6,1;4,9,2;3,9,1;4,8,2;4,6,1;4,10,2;4,11,1;5,5,2;
         */

        /*
        白棋算杀命中
        7,7,1;6,6,2;6,7,1;5,6,2;7,6,1;7,5,2;5,7,1;8,7,2;4,7,1;3,7,2;4,6,1;4,9,2;3,5,1;2,4,2;4,5,1;4,4,2;7,9,1;6,8,2;7,8,1;7,10,2;1,4,1;2,5,2;8,5,1;9,4,2;2,3,1;3,3,2;3,2,1;4,1,2;4,2,1;2,2,2;5,5,1;1,1,2;0,0,1;2,1,2;3,1,1;2,6,2;2,7,1;5,9,2;4,8,1;3,9,2;2,9,1;3,10,2;3,8,1;1,8,2;1,10,1;0,11,2;8,9,1;9,10,2;5,3,1;2,11,2;6,4,1;2,0,2;7,3,1;8,2,2;1,12,1;6,10,2;
         */

        // 白棋VCT黑棋命中
        /*
        7,7,1;8,6,2;9,7,1;6,7,2;6,6,1;8,8,2;8,7,1;10,7,2;9,8,1;7,6,2;9,6,1;9,5,2;10,5,1;7,8,2;9,10,1;9,9,2;11,4,1;12,3,2;9,4,1;8,3,2;12,4,1;
         */

        // 白棋VCT黑棋命中
        /*
        7,7,1;8,6,2;9,7,1;6,7,2;6,6,1;8,8,2;8,7,1;10,7,2;9,8,1;7,6,2;9,6,1;9,5,2;10,5,1;7,8,2;9,10,1;9,9,2;11,4,1;12,3,2;9,4,1;8,3,2;12,4,1;10,4,2;12,2,1;5,8,2;4,9,1;5,6,2;4,5,1;7,4,2;6,5,1;7,5,2;7,2,1;5,5,2;5,7,1;4,8,2;6,8,1;4,6,2;
         */

        // 白棋VCT黑棋命中
        /*
        7,7,1;8,6,2;9,7,1;6,7,2;6,6,1;8,8,2;8,7,1;10,7,2;9,8,1;7,6,2;9,6,1;9,5,2;10,5,1;7,8,2;9,10,1;9,9,2;11,4,1;12,3,2;9,4,1;8,3,2;12,4,1;10,4,2;12,2,1;5,8,2;4,9,1;5,6,2;4,5,1;7,4,2;6,5,1;7,5,2;7,2,1;5,5,2;5,7,1;4,8,2;6,8,1;4,6,2;5,4,1;6,3,2;7,3,1;3,7,2;2,8,1;5,9,2;2,6,1;5,2,2;4,1,1;7,11,2;6,10,1;10,8,2;8,10,1;7,10,2;7,9,1;9,11,2;2,7,1;2,5,2;3,6,1;1,8,2;2,9,1;2,10,2;1,6,1;3,8,2;8,11,1;10,9,2;10,10,1;12,10,2;8,12,1;8,13,2;11,5,1;11,2,2;
         */

        // 黑棋VCT白棋命中
        /*
        7,7,1;8,8,2;6,8,1;8,6,2;8,5,1;6,7,2;9,7,1;8,9,2;8,10,1;5,6,2;7,8,1;7,6,2;6,6,1;7,9,2;8,7,1;10,7,2;10,9,1;6,9,2;5,9,1;9,6,2;11,6,1;5,8,2;7,10,1;4,9,2;3,10,1;6,10,2;4,10,1;3,11,2;2,10,1;5,10,2;6,11,1;
         */

        // 黑棋VCF白棋命中
        /*
        7,7,1;8,8,2;6,8,1;8,6,2;8,5,1;6,7,2;9,7,1;8,9,2;8,10,1;5,6,2;7,8,1;7,6,2;6,6,1;7,9,2;8,7,1;10,7,2;10,9,1;6,9,2;5,9,1;9,6,2;11,6,1;5,8,2;7,10,1;4,9,2;3,10,1;6,10,2;4,10,1;3,11,2;2,10,1;5,10,2;6,11,1;5,11,2;4,12,1;1,10,2;9,8,1;4,7,2;3,6,1;
         */

        // 黑棋VCF假命中
        /*
        7,7,1;8,8,2;6,8,1;8,6,2;8,5,1;6,7,2;9,7,1;8,9,2;8,10,1;5,6,2;7,8,1;7,6,2;6,6,1;7,9,2;8,7,1;10,7,2;10,9,1;6,9,2;5,9,1;9,6,2;11,6,1;5,8,2;7,10,1;4,9,2;3,10,1;6,10,2;4,10,1;3,11,2;2,10,1;5,10,2;6,11,1;5,11,2;4,12,1;1,10,2;9,8,1;4,7,2;3,6,1;2,9,2;3,8,1;4,11,2;3,9,1;
         */

        // 黑棋VCT假命中
        /*
        7,7,1;8,8,2;9,7,1;9,8,2;8,7,1;6,7,2;7,8,1;7,6,2;10,5,1;9,6,2;6,6,1;10,7,2;8,5,1;11,6,2;8,9,1;8,6,2;10,6,1;12,5,2;13,4,1;11,5,2;11,4,1;10,4,2;12,6,1;13,5,2;11,7,1;6,9,2;9,5,1;8,4,2;12,8,1;13,9,2;7,5,1;6,5,2;7,4,1;13,7,2;13,8,1;10,8,2;7,9,1;7,10,2;8,10,1;4,7,2;5,8,1;6,8,2;6,10,1;5,7,2;2,7,1;12,3,2;10,12,1;12,4,2;11,3,1;12,1,2;12,2,1;4,6,2;9,11,1;11,13,2;3,5,1;4,9,2;4,8,1;5,9,2;2,9,1;4,4,2;4,5,1;5,4,2;2,8,1;
         */

        // 黑棋VCT假命中，觉得自己能赢？？？
        /*
        7,7,1;8,8,2;8,7,1;6,7,2;9,7,1;6,8,2;6,6,1;5,8,2;7,8,1;7,6,2;4,9,1;8,5,2;9,4,1;9,6,2;10,7,1;11,7,2;11,9,1;10,8,2;8,10,1;12,6,2;13,5,1;11,6,2;10,6,1;11,5,2;11,4,1;10,4,2;9,3,1;9,5,2;10,5,1;11,3,2;12,2,1;13,7,2;14,8,1;12,7,2;7,5,1;8,4,2;12,9,1;12,4,2;12,5,1;8,3,2;8,2,1;9,2,2;10,9,1;9,9,2;14,9,1;13,9,2;14,10,1;14,7,2;14,12,1;14,11,2;13,2,1;10,1,2;7,4,1;13,8,2;13,10,1;9,1,2;13,3,1;10,2,2;8,0,1;13,1,2;12,3,1;14,1,2;13,4,1;13,6,2;11,1,1;10,3,2;10,0,1;14,4,2;9,0,1;7,0,2;12,0,1;11,0,2;9,10,1;14,5,2;7,10,1;
         */

        // VCT未命中？？？
        /*
        7,7,1;8,8,2;8,6,1;9,5,2;9,7,1;8,7,2;7,5,1;10,8,2;9,8,1;7,6,2;9,9,1;9,10,2;6,4,1;5,3,2;10,9,1;8,9,2;7,8,1;8,4,2;6,2,1;6,3,2;8,3,1;4,3,2;3,3,1;5,2,2;5,4,1;3,4,2;2,5,1;7,4,2;4,1,1;10,4,2;9,4,1;10,6,2;11,7,1;10,5,2;10,7,1;12,5,2;11,5,1;10,3,2;10,2,1;6,1,2;7,0,1;
         */

        // ???
        /*
        7,7,1;8,8,2;7,9,1;7,6,2;6,8,1;8,7,2;8,9,1;9,8,2;6,5,1;10,9,2;11,10,1;10,8,2;11,8,1;10,6,2;10,7,1;8,6,2;9,6,1;8,5,2;8,4,1;11,9,2;9,7,1;12,9,2;13,9,1;10,3,2;6,7,1;9,4,2;11,2,1;6,6,2;5,7,1;
         */
        /*
        7,7,1;6,8,2;7,9,1;7,10,2;6,10,1;9,7,2;5,11,1;4,12,2;6,12,1;6,13,2;7,11,1;5,9,2;9,9,1;8,10,2;8,12,1;7,13,2;6,11,1;8,11,2;9,12,1;7,12,2;
         */

        // 黑棋VCT假命中
        /*
        7,7,1;8,8,2;7,9,1;7,6,2;8,7,1;6,7,2;5,8,1;8,6,2;9,6,1;7,8,2;8,9,1;9,8,2;10,8,1;6,9,2;6,8,1;4,6,2;5,6,1;5,5,2;8,10,1;9,11,2;9,9,1;11,7,2;11,9,1;10,9,2;7,11,1;6,12,2;6,4,1;4,4,2;4,5,1;3,3,2;2,2,1;5,3,2;6,2,1;2,3,2;4,3,1;3,5,2;6,3,1;2,6,2;1,7,1;6,1,2;3,6,1;5,4,2;6,5,1;6,6,2;7,4,1;5,2,2;5,1,1;
         */

        // 黑棋冲四后可VCT命中
        /*
        7,7,1;6,6,2;5,7,1;8,7,2;8,6,1;5,9,2;9,5,1;10,4,2;10,6,1;11,6,2;9,7,1;7,5,2;8,8,1;7,9,2;9,8,1;9,6,2;10,8,1;11,8,2;11,7,1;8,4,2;
         */

        // 对手拦截成功并且形成冲四
        /*
         7,7,1;6,6,2;5,7,1;8,7,2;8,6,1;6,8,2;6,7,1;4,7,2;5,8,1;7,6,2;5,6,1;5,5,2;4,5,1;7,8,2;5,10,1;5,9,2;3,4,1;2,3,2;5,4,1;6,4,2;2,7,1;3,6,2;4,9,1;3,8,2;3,10,1;2,11,2;2,10,1;4,10,2;3,7,1;9,8,2;10,9,1;9,6,2;10,5,1;3,11,2;2,12,1;7,3,2;8,2,1;9,5,2;9,7,1;10,8,2;8,8,1;10,6,2;8,4,1;8,1,2;7,2,1;8,3,2;9,2,1;6,2,2;10,2,1;11,2,2;6,3,1;9,3,2;10,3,1;10,1,2;9,1,1;4,11,2;1,11,1;11,3,2;3,9,1;4,8,2;2,9,1;2,8,2;1,9,1;0,9,2;1,10,1;1,8,2;0,8,1;6,11,2;5,11,1;6,10,2;1,12,1;1,13,2;6,9,1;7,10,2;8,9,1;7,11,2;8,12,1;7,9,2;7,12,1;9,9,2;8,10,1;
         */

        String str = "7,7,1;8,8,2;8,6,1;8,9,2;6,8,1;9,5,2;5,9,1;4,10,2;7,9,1;8,10,2;8,11,1;7,11,2;7,6,1;7,8,2;9,10,1;9,9,2;10,8,1;6,12,2;";
        Point lastPoint = null;
        int[][] chessData = new int[15][15];
        String[] chessRecords = str.split(";");
        int len = chessRecords.length;
        for (int i = 0; i < len; i++) {
            String[] point = chessRecords[i].split(",");
            int x = Integer.parseInt(point[0]);
            int y = Integer.parseInt(point[1]);
            int type = Integer.parseInt(point[2]);
            chessData[x][y] = type;
            if (i == len - 1) {
                lastPoint = new Point(x, y, type);
            }
        }

        AIService aiService = new ZhiZhangAIService();
        System.out.println("AI => " + aiService.getPoint(chessData, lastPoint));
    }

}
